RNA-Seq: differential expression analysis of controls (literature)
Libraries required
Data
Expression comparison
PND7 vs PND8
lab.pnd8 <- log2(
sort(
rowMeans(
lab@gene.counts[, grep(pattern = "PND8", x = colnames(lab@gene.counts), value = T)]
),
decreasing = TRUE
)
)[1:5000]
lit.pnd7 <- log2(
sort(
rowMeans(
lit@gene.counts[, grep(pattern = "PND7", x = colnames(lit@gene.counts), value = T)]
),
decreasing = TRUE
)
)[1:5000]
genes <- intersect(names(lab.pnd8), names(lit.pnd7))
x <- lab.pnd8[genes]
y <- lit.pnd7[genes]
fit <- lm(y ~ x)
plot_ly() %>%
add_trace(x = x, y = y, mode = "markers") %>%
add_trace(x = x, y = predict(fit), mode = "lines") %>%
layout(
xaxis = list(title = "PND8 (Lab)"),
yaxis = list(title = "PND7 (Literature)"),
title = "SC controls expression: Lab vs Literature"
)PND14 vs PND15
lab.pnd15 <- log2(
sort(
rowMeans(
lab@gene.counts[, grep(pattern = "PND15", x = colnames(lab@gene.counts), value = T)]
),
decreasing = TRUE
)
)[1:5000]
lit.pnd14 <- log2(
sort(
# rowMeans(
lit@gene.counts[, grep(pattern = "PND14", x = colnames(lit@gene.counts), value = T)],
decreasing = TRUE
)
)[1:5000]
genes <- intersect(names(lab.pnd15), names(lit.pnd14))
x <- lab.pnd15[genes]
y <- lit.pnd14[genes]
fit <- lm(y ~ x)
plot_ly() %>%
add_trace(x = x, y = y, mode = "markers") %>%
add_trace(x = x, y = predict(fit), mode = "lines") %>%
layout(
xaxis = list(title = "PND15 (Lab)"),
yaxis = list(title = "PND14 (Literature)"),
title = "SC controls expression: Lab vs Literature"
)PNW8 vs Adult
lab.adult <- log2(
sort(
rowMeans(
lab@gene.counts[, grep(pattern = "Adult", x = colnames(lab@gene.counts), value = T)]
),
decreasing = TRUE
)
)[1:5000]
lit.pnw8 <- log2(
sort(
# rowMeans(
lit@gene.counts[, grep(pattern = "PNW8", x = colnames(lit@gene.counts), value = T)],
decreasing = TRUE
)
)[1:5000]
genes <- intersect(names(lab.adult), names(lit.pnw8))
x <- lab.adult[genes]
y <- lit.pnw8[genes]
fit <- lm(y ~ x)
plot_ly() %>%
add_trace(x = x, y = y, mode = "markers") %>%
add_trace(x = x, y = predict(fit), mode = "lines") %>%
layout(
xaxis = list(title = "Adult (Lab)"),
yaxis = list(title = "PNW8 (Literature)"),
title = "SC controls expression: Lab vs Literature"
)Heatmap
genes <- data.frame(
Category = c(
rep("Germ cell licensing", 5),
rep("Undifferentiated Spermatogonia markers", 12),
"Sertoli cell marker",
"Leyidig cell marker",
"Translational initiation factor",
"Translational initiation factor",
"Housekeeping gene"
),
Genes = c(
"Nanos2", "Nanos3", "Dazl", "Ddx4", "Dmrt1",
"Taf4b", "Neurog3", "Utf1", "Id4", "Zbtb16", "Pou5f1",
"Lin28a", "Bcl6b", "Sall4", "Sohlh1", "Foxo1", "Gfra1",
"Gata4", "Lhcgr",
"Eif4h", "Eif4e", "Gapdh"
), stringsAsFactors = F
)
rownames(genes) <- genes$Genes
tab <- data.frame(lab@gene.counts, lit@gene.counts)
tab <- DGEList(tab)
tab <- calcNormFactors(tab)
cpm <- cpm(tab, log = T)
tab <- cpm[genes$Genes, ]
tab[mapply(is.infinite, tab)] <- 0
tab <- tab[, c(
grep(pattern = "PND7", x = colnames(tab), value = T),
grep(pattern = "PND8", x = colnames(tab), value = T),
grep(pattern = "PND14", x = colnames(tab), value = T),
grep(pattern = "PND15", x = colnames(tab), value = T),
grep(pattern = "PNW8", x = colnames(tab), value = T),
grep(pattern = "Adult", x = colnames(tab), value = T)
)]
annoCol <- rbind(lab@phenoData, lit@phenoData)
pheatmap(
mat = tab, color = viridis(100), border_color = NA,
cluster_cols = F, cluster_rows = F,
gaps_col = c(10, 20), gaps_row = c(5, 17, 18, 19, 21),
annotation_row = genes[, 1, drop = F],
annotation_col = annoCol[,1, drop = F]
)SessionInfo
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 3.6.1 (2019-07-05)
## os Ubuntu 16.04.6 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate de_DE.UTF-8
## ctype de_DE.UTF-8
## tz Europe/Zurich
## date 2019-12-16
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date lib source
## assertthat 0.2.1 2019-03-21 [1] CRAN (R 3.6.1)
## backports 1.1.5 2019-10-02 [1] CRAN (R 3.6.1)
## bookdown 0.16 2019-11-22 [1] CRAN (R 3.6.1)
## callr 3.3.2 2019-09-22 [1] CRAN (R 3.6.1)
## cli 1.1.0 2019-03-19 [1] CRAN (R 3.6.1)
## colorspace 1.4-1 2019-03-18 [1] CRAN (R 3.6.1)
## crayon 1.3.4 2017-09-16 [1] CRAN (R 3.6.1)
## crosstalk 1.0.0 2016-12-21 [1] CRAN (R 3.6.1)
## data.table 1.12.6 2019-10-18 [1] CRAN (R 3.6.1)
## desc 1.2.0 2018-05-01 [1] CRAN (R 3.6.1)
## devtools 2.2.1 2019-09-24 [1] CRAN (R 3.6.1)
## digest 0.6.23 2019-11-23 [1] CRAN (R 3.6.1)
## dplyr 0.8.3 2019-07-04 [1] CRAN (R 3.6.1)
## edgeR * 3.28.0 2019-10-29 [1] Bioconductor
## ellipsis 0.3.0 2019-09-20 [1] CRAN (R 3.6.1)
## evaluate 0.14 2019-05-28 [1] CRAN (R 3.6.1)
## farver 2.0.1 2019-11-13 [1] CRAN (R 3.6.1)
## fastmap 1.0.1 2019-10-08 [1] CRAN (R 3.6.1)
## fs 1.3.1 2019-05-06 [1] CRAN (R 3.6.1)
## ggplot2 * 3.2.1 2019-08-10 [1] CRAN (R 3.6.1)
## glue 1.3.1 2019-03-12 [1] CRAN (R 3.6.1)
## gridExtra 2.3 2017-09-09 [1] CRAN (R 3.6.1)
## gtable 0.3.0 2019-03-25 [1] CRAN (R 3.6.1)
## highr 0.8 2019-03-20 [1] CRAN (R 3.6.1)
## htmltools 0.4.0 2019-10-04 [1] CRAN (R 3.6.1)
## htmlwidgets 1.5.1 2019-10-08 [1] CRAN (R 3.6.1)
## httpuv 1.5.2 2019-09-11 [1] CRAN (R 3.6.1)
## httr 1.4.1 2019-08-05 [1] CRAN (R 3.6.1)
## jsonlite 1.6 2018-12-07 [1] CRAN (R 3.6.1)
## knitr 1.26 2019-11-12 [1] CRAN (R 3.6.1)
## later 1.0.0 2019-10-04 [1] CRAN (R 3.6.1)
## lattice 0.20-38 2018-11-04 [1] CRAN (R 3.6.1)
## lazyeval 0.2.2 2019-03-15 [1] CRAN (R 3.6.1)
## lifecycle 0.1.0 2019-08-01 [1] CRAN (R 3.6.1)
## limma * 3.42.0 2019-10-29 [1] Bioconductor
## locfit 1.5-9.1 2013-04-20 [1] CRAN (R 3.6.1)
## magrittr 1.5 2014-11-22 [1] CRAN (R 3.6.1)
## memoise 1.1.0.9000 2019-11-27 [1] Github (r-lib/memoise@d7782b1)
## mime 0.7 2019-06-11 [1] CRAN (R 3.6.1)
## miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 3.6.1)
## munsell 0.5.0 2018-06-12 [1] CRAN (R 3.6.1)
## pheatmap * 1.0.12 2019-01-04 [1] CRAN (R 3.6.1)
## pillar 1.4.2 2019-06-29 [1] CRAN (R 3.6.1)
## pkgbuild 1.0.6 2019-10-09 [1] CRAN (R 3.6.1)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 3.6.1)
## pkgload 1.0.2 2018-10-29 [1] CRAN (R 3.6.1)
## plotly * 4.9.1 2019-11-07 [1] CRAN (R 3.6.1)
## prettyunits 1.0.2 2015-07-13 [1] CRAN (R 3.6.1)
## processx 3.4.1 2019-07-18 [1] CRAN (R 3.6.1)
## promises 1.1.0 2019-10-04 [1] CRAN (R 3.6.1)
## ps 1.3.0 2018-12-21 [1] CRAN (R 3.6.1)
## purrr 0.3.3 2019-10-18 [1] CRAN (R 3.6.1)
## questionr 0.7.0 2018-11-26 [1] CRAN (R 3.6.1)
## R6 2.4.1 2019-11-12 [1] CRAN (R 3.6.1)
## RColorBrewer 1.1-2 2014-12-07 [1] CRAN (R 3.6.1)
## Rcpp 1.0.3 2019-11-08 [1] CRAN (R 3.6.1)
## remotes 2.1.0 2019-06-24 [1] CRAN (R 3.6.1)
## rlang 0.4.2 2019-11-23 [1] CRAN (R 3.6.1)
## rmarkdown 1.18 2019-11-27 [1] CRAN (R 3.6.1)
## rmdformats 0.3.5 2019-02-19 [1] CRAN (R 3.6.1)
## rprojroot 1.3-2 2018-01-03 [1] CRAN (R 3.6.1)
## rstudioapi 0.10 2019-03-19 [1] CRAN (R 3.6.1)
## scales 1.1.0 2019-11-18 [1] CRAN (R 3.6.1)
## sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 3.6.1)
## shiny 1.4.0 2019-10-10 [1] CRAN (R 3.6.1)
## stringi 1.4.3 2019-03-12 [1] CRAN (R 3.6.1)
## stringr 1.4.0 2019-02-10 [1] CRAN (R 3.6.1)
## testthat 2.3.1 2019-12-01 [1] CRAN (R 3.6.1)
## tibble 2.1.3 2019-06-06 [1] CRAN (R 3.6.1)
## tidyr 1.0.0 2019-09-11 [1] CRAN (R 3.6.1)
## tidyselect 0.2.5 2018-10-11 [1] CRAN (R 3.6.1)
## usethis 1.5.1 2019-07-04 [1] CRAN (R 3.6.1)
## vctrs 0.2.0 2019-07-05 [1] CRAN (R 3.6.1)
## viridis * 0.5.1 2018-03-29 [1] CRAN (R 3.6.1)
## viridisLite * 0.3.0 2018-02-01 [1] CRAN (R 3.6.1)
## withr 2.1.2 2018-03-15 [1] CRAN (R 3.6.1)
## xfun 0.11 2019-11-12 [1] CRAN (R 3.6.1)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 3.6.1)
## yaml 2.2.0 2018-07-25 [1] CRAN (R 3.6.1)
## zeallot 0.1.0 2018-01-28 [1] CRAN (R 3.6.1)
##
## [1] /home/ubuntu/R/x86_64-pc-linux-gnu-library/3.6
## [2] /usr/local/lib/R/site-library
## [3] /usr/lib/R/site-library
## [4] /usr/lib/R/library
## [5] /home/ubuntu/softwares/anaconda3/pkgs